home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_400 / 414_02 / unix / _setkeys.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-06-17  |  7.2 KB  |  209 lines

  1. #define    CURSES_LIBRARY    1
  2. #include <curses.h>
  3. #ifdef UNIX
  4. #include <defs.h>
  5. #include <term.h>
  6. #endif
  7.  
  8. #ifdef PDCDEBUG
  9. char *rcsid_PDC_setkeys = "$Header: C:\CURSES\unix\RCS\_setkeys.c 2.1 1993/06/18 20:24:03 MH Rel MH $";
  10. #endif
  11.  
  12.  
  13.  
  14.  
  15. /*man-start*********************************************************************
  16.  
  17.   PDC_setup_keys()    - Setup function key translations.
  18.  
  19.   PDCurses Description:
  20.      This is a private PDCurses routine.
  21.  
  22.      Sets up the array of key sequences and their associated curses key number
  23.      for use by the getch() function when determining if a sequence of
  24.      characters is a key escape sequence.
  25.  
  26.  
  27.   PDCurses Return Value:
  28.      This function returns OK on success and ERR on error.
  29.  
  30.   PDCurses Errors:
  31.      No errors are defined for this function.
  32.  
  33.   Portability:
  34.      PDCurses    int PDC_setup_keys( char *keyptr, int keynum );
  35.  
  36. **man-end**********************************************************************/
  37.  
  38.  
  39. #ifdef UNIX
  40. static void add_key(char *keyptr,int keynum)
  41. {
  42.     if (keyptr != NULL)
  43.         {
  44. #ifdef PDCDEBUG
  45.         if (trace_on) PDC_debug("add_key() keyval %s keynum %d\n",keyptr,keynum);
  46. #endif
  47.         _cursvar.key_seq[_cursvar.number_keys] = keyptr;
  48.         _cursvar.key_num[_cursvar.number_keys++] = keynum;
  49.         }
  50.     return;
  51. }
  52. int PDC_setup_keys()
  53. {
  54. #ifdef PDCDEBUG
  55.     if (trace_on) PDC_debug("PDC_setup_keys() - called\n");
  56. #endif
  57.     _cursvar.number_keys = 0;
  58.     add_key(key_a1       ,KEY_A1       );
  59.     add_key(key_a3       ,KEY_A3       );
  60.     add_key(key_b2       ,KEY_B2       );
  61.     add_key(key_backspace,KEY_BACKSPACE);
  62.     add_key(key_beg      ,KEY_BEG      );
  63.     add_key(key_btab     ,KEY_BTAB     );
  64.     add_key(key_c1       ,KEY_C1       );
  65.     add_key(key_c3       ,KEY_C3       );
  66.     add_key(key_cancel   ,KEY_CANCEL   );
  67.     add_key(key_catab    ,KEY_CATAB    );
  68.     add_key(key_clear    ,KEY_CLEAR    );
  69.     add_key(key_close    ,KEY_CLOSE    );
  70.     add_key(key_command  ,KEY_COMMAND  );
  71.     add_key(key_copy     ,KEY_COPY     );
  72.     add_key(key_create   ,KEY_CREATE   );
  73.     add_key(key_ctab     ,KEY_CTAB     );
  74.     add_key(key_dc       ,KEY_DC       );
  75.     add_key(key_dl       ,KEY_DL       );
  76.     add_key(key_down     ,KEY_DOWN     );
  77.     add_key(key_eic      ,KEY_EIC      );
  78.     add_key(key_end      ,KEY_END      );
  79.     add_key(key_enter    ,KEY_ENTER    );
  80.     add_key(key_eol      ,KEY_EOL      );
  81.     add_key(key_eos      ,KEY_EOS      );
  82.     add_key(key_exit     ,KEY_EXIT     );
  83.     add_key(key_f0       ,KEY_F(0 )    );
  84.     add_key(key_f1       ,KEY_F(1 )    );
  85.     add_key(key_f2       ,KEY_F(2 )    );
  86.     add_key(key_f3       ,KEY_F(3 )    );
  87.     add_key(key_f4       ,KEY_F(4 )    );
  88.     add_key(key_f5       ,KEY_F(5 )    );
  89.     add_key(key_f6       ,KEY_F(6 )    );
  90.     add_key(key_f7       ,KEY_F(7 )    );
  91.     add_key(key_f8       ,KEY_F(8 )    );
  92.     add_key(key_f9       ,KEY_F(9 )    );
  93.     add_key(key_f10      ,KEY_F(10)    );
  94.     add_key(key_f11      ,KEY_F(11)    );
  95.     add_key(key_f12      ,KEY_F(12)    );
  96.     add_key(key_f13      ,KEY_F(13)    );
  97.     add_key(key_f14      ,KEY_F(14)    );
  98.     add_key(key_f15      ,KEY_F(15)    );
  99.     add_key(key_f16      ,KEY_F(16)    );
  100.     add_key(key_f17      ,KEY_F(17)    );
  101.     add_key(key_f18      ,KEY_F(18)    );
  102.     add_key(key_f19      ,KEY_F(19)    );
  103.     add_key(key_f20      ,KEY_F(20)    );
  104.     add_key(key_f21      ,KEY_F(21)    );
  105.     add_key(key_f22      ,KEY_F(22)    );
  106.     add_key(key_f23      ,KEY_F(23)    );
  107.     add_key(key_f24      ,KEY_F(24)    );
  108.     add_key(key_f25      ,KEY_F(25)    );
  109.     add_key(key_f26      ,KEY_F(26)    );
  110.     add_key(key_f27      ,KEY_F(27)    );
  111.     add_key(key_f28      ,KEY_F(28)    );
  112.     add_key(key_f29      ,KEY_F(29)    );
  113.     add_key(key_f30      ,KEY_F(30)    );
  114.     add_key(key_f31      ,KEY_F(31)    );
  115.     add_key(key_f32      ,KEY_F(32)    );
  116.     add_key(key_f33      ,KEY_F(33)    );
  117.     add_key(key_f34      ,KEY_F(34)    );
  118.     add_key(key_f35      ,KEY_F(35)    );
  119.     add_key(key_f36      ,KEY_F(36)    );
  120.     add_key(key_f37      ,KEY_F(37)    );
  121.     add_key(key_f38      ,KEY_F(38)    );
  122.     add_key(key_f39      ,KEY_F(39)    );
  123.     add_key(key_f40      ,KEY_F(40)    );
  124.     add_key(key_f41      ,KEY_F(41)    );
  125.     add_key(key_f42      ,KEY_F(42)    );
  126.     add_key(key_f43      ,KEY_F(43)    );
  127.     add_key(key_f44      ,KEY_F(44)    );
  128.     add_key(key_f45      ,KEY_F(45)    );
  129.     add_key(key_f46      ,KEY_F(46)    );
  130.     add_key(key_f47      ,KEY_F(47)    );
  131.     add_key(key_f48      ,KEY_F(48)    );
  132.     add_key(key_f49      ,KEY_F(49)    );
  133.     add_key(key_f50      ,KEY_F(50)    );
  134.     add_key(key_f51      ,KEY_F(51)    );
  135.     add_key(key_f52      ,KEY_F(52)    );
  136.     add_key(key_f53      ,KEY_F(53)    );
  137.     add_key(key_f54      ,KEY_F(54)    );
  138.     add_key(key_f55      ,KEY_F(55)    );
  139.     add_key(key_f56      ,KEY_F(56)    );
  140.     add_key(key_f57      ,KEY_F(57)    );
  141.     add_key(key_f58      ,KEY_F(58)    );
  142.     add_key(key_f59      ,KEY_F(59)    );
  143.     add_key(key_f60      ,KEY_F(60)    );
  144.     add_key(key_f61      ,KEY_F(61)    );
  145.     add_key(key_f62      ,KEY_F(62)    );
  146.     add_key(key_f63      ,KEY_F(63)    );
  147.     add_key(key_find     ,KEY_FIND     );
  148.     add_key(key_help     ,KEY_HELP     );
  149.     add_key(key_home     ,KEY_HOME     );
  150.     add_key(key_ic       ,KEY_IC       );
  151.     add_key(key_il       ,KEY_IL       );
  152.     add_key(key_left     ,KEY_LEFT     );
  153.     add_key(key_ll       ,KEY_LL       );
  154.     add_key(key_mark     ,KEY_MARK     );
  155.     add_key(key_message  ,KEY_MESSAGE  );
  156.     add_key(key_move     ,KEY_MOVE     );
  157.     add_key(key_next     ,KEY_NEXT     );
  158.     add_key(key_npage    ,KEY_NPAGE    );
  159.     add_key(key_open     ,KEY_OPEN     );
  160.     add_key(key_options  ,KEY_OPTIONS  );
  161.     add_key(key_ppage    ,KEY_PPAGE    );
  162.     add_key(key_previous ,KEY_PREVIOUS );
  163.     add_key(key_print    ,KEY_PRINT    );
  164.     add_key(key_redo     ,KEY_REDO     );
  165.     add_key(key_reference,KEY_REFERENCE);
  166.     add_key(key_refresh  ,KEY_REFRESH  );
  167.     add_key(key_replace  ,KEY_REPLACE  );
  168.     add_key(key_restart  ,KEY_RESTART  );
  169.     add_key(key_resume   ,KEY_RESUME   );
  170.     add_key(key_right    ,KEY_RIGHT    );
  171.     add_key(key_save     ,KEY_SAVE     );
  172.     add_key(key_sbeg     ,KEY_SBEG     );
  173.     add_key(key_scancel  ,KEY_SCANCEL  );
  174.     add_key(key_scommand ,KEY_SCOMMAND );
  175.     add_key(key_scopy    ,KEY_SCOPY    );
  176.     add_key(key_screate  ,KEY_SCREATE  );
  177.     add_key(key_sdc      ,KEY_SDC      );
  178.     add_key(key_sdl      ,KEY_SDL      );
  179.     add_key(key_select   ,KEY_SELECT   );
  180.     add_key(key_send     ,KEY_SEND     );
  181.     add_key(key_seol     ,KEY_SEOL     );
  182.     add_key(key_sexit    ,KEY_SEXIT    );
  183.     add_key(key_sf       ,KEY_SF       );
  184.     add_key(key_sfind    ,KEY_SFIND    );
  185.     add_key(key_shelp    ,KEY_SHELP    );
  186.     add_key(key_shome    ,KEY_SHOME    );
  187.     add_key(key_sic      ,KEY_SIC      );
  188.     add_key(key_sleft    ,KEY_SLEFT    );
  189.     add_key(key_smessage ,KEY_SMESSAGE );
  190.     add_key(key_smove    ,KEY_SMOVE    );
  191.     add_key(key_snext    ,KEY_SNEXT    );
  192.     add_key(key_soptions ,KEY_SOPTIONS );
  193.     add_key(key_sprevious,KEY_SPREVIOUS);
  194.     add_key(key_sprint   ,KEY_SPRINT   );
  195.     add_key(key_sr       ,KEY_SR       );
  196.     add_key(key_sredo    ,KEY_SREDO    );
  197.     add_key(key_sreplace ,KEY_SREPLACE );
  198.     add_key(key_sright   ,KEY_SRIGHT   );
  199.     add_key(key_srsume   ,KEY_SRSUME   );
  200.     add_key(key_ssave    ,KEY_SSAVE    );
  201.     add_key(key_ssuspend ,KEY_SSUSPEND );
  202.     add_key(key_stab     ,KEY_STAB     );
  203.     add_key(key_sundo    ,KEY_SUNDO    );
  204.     add_key(key_suspend  ,KEY_SUSPEND  );
  205.     add_key(key_undo     ,KEY_UNDO     );
  206.     add_key(key_up       ,KEY_UP       );
  207. }
  208. #endif
  209.